Systems and Methods for Determining Noise Components in a Signal Set

ABSTRACT

Various embodiments of the present invention provide systems and methods for estimating noise components in a received signal set. For example, one embodiment of the present invention provides a noise estimation circuit that includes a data detector circuit and a noise component calculation circuit. The data detector circuit receives a series of data samples and provides a detected output, and the noise component calculation circuit provides an electronics noise power output and a media noise power output each calculated based at least in part on the detected output and the series of data samples.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims priority to (is a continuation of) U.S. patent application Ser. No. 12/652,201 entitled “Systems and Methods for Determining Noise Components in a Signal Set”, and filed Jan. 5, 2010 by Mathew et al. The entirety of the aforementioned application is incorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

The present inventions are related to systems and methods for determining noise components in a received signal set.

Received information in a data transmission system is effected by various noise factors and is often expressed as a ratio of signal power to noise power. Such transmission systems may include, for example, wireless or wired data transmission systems where data is transferred from a transmission device to a receiving device, and data storage systems where data is transferred to a storage medium in a write operation and retrieved from the same storage medium in a read operation. Knowledge of signal power and noise power may be used in a number of aspects of such systems. Further, the composition of noise in a read back signal may be used to provide information about the health of the recording channel or transmission channel as well as the quality of data-detection we can expect from the read-channel device.

As an example, estimating noise components using conventional methods may include an extensive amount of data-averaging, computations and analysis using an oscilloscope relying on special data patterns. Further, the conventional methods may involve offline operation requiring several data transfers including reads, writes and large amounts of memory. In some cases, such approaches may not be desirable due to resource limitations and/or delays.

Hence, for at least the aforementioned reasons, there exists a need in the art for advanced systems and methods for estimating noise components in a received signal set.

BRIEF SUMMARY OF THE INVENTION

The present inventions are related to systems and methods for determining noise components in a received signal set.

Various embodiments of the present invention provide noise estimation circuits. Such noise estimation circuits include a data detector circuit and a noise component calculation circuit. The data detector circuit receives a series of data samples and provides a detected output, and the noise component calculation circuit provides an electronics noise power output and a media noise power output each calculated based at least in part on the detected output and the series of data samples. In some instances of the aforementioned embodiments, the series of data samples is a first series of data samples, and the noise estimation circuit further includes a noise predictive filter circuit. The noise predictive filter circuit receives a second series of data samples and provides the first series of data samples based at least in part on the second series of data samples and a coefficient set. The noise prediction coefficient set is obtained by running a design algorithm known in the art based at least in part on the first series of data samples and second series of data samples.

In particular instances of the aforementioned embodiments, the noise component calculation circuit includes a partial correlation determination circuit, a prediction error power circuit, a noise power calculation circuit, an electronics noise calculation circuit, and a media noise calculation circuit. The partial correlation determination circuit calculates a partial correlation output based at least in part on the first series of data samples and the coefficient set. The prediction error power circuit calculates a prediction error power output based at least in part on the first series of data samples, and the noise power calculation circuit calculates a noise power output based at least in part on the prediction error power output and the partial correlation output. If prediction error powers are available as part of the noise prediction coefficient set, the prediction error power circuit mentioned above will not be needed. The electronics noise calculation circuit calculates an electronics noise power output based at least in part on the noise power output, and the media noise calculation circuit calculates a media noise power output based at least in part on the electronics noise power output.

Other embodiments of the present invention provide methods for noise component estimation. Such methods include: receiving a data input; applying a data detection algorithm to the data input to yield a detected output; calculating a partial correlation value based at least in part on the noise prediction coefficient set; calculating an error power value based at least in part on the data input and the detected output; calculating a noise power value based on both the error power value and the partial correlation value; and calculating an electronics noise power value based at least in part on the noise power value. In some instances of the aforementioned embodiments, the methods further include calculating a media noise value based at least in part on the electronics noise value. In some cases, the data input is a first data input, and the methods further include performing a noise predictive filtering of a second data input based upon a coefficient set to yield the first series of data samples, and applying a design algorithm to yield the noise prediction coefficient set.

Other embodiments of the present invention provide methods for noise component estimation. Such methods include: receiving a second data input; performing a noise prediction filtering of a second data input based upon a coefficient set to yield a first series of data samples; applying a data detection algorithm to the first series of data samples to yield a detected output; calculating a noise power value based at least in part on the second data input and the detected output; and calculating an electronics noise power value based at least in part on the noise power value. In some instances of the aforementioned embodiments, the methods further include calculating a media noise power value based at least in part on the electronics noise value.

Yet other embodiments of the present invention provide storage devices that include a data processing circuit. The data processing circuit includes a read channel circuit and a noise estimation circuit. The read channel circuit performs a data detection process on a series of digital samples to yield a detected output, and the noise estimation circuit provides an electronics noise power output and a media noise power output each calculated based at least in part on the detected output. In some instances of the aforementioned embodiments, the storage device further includes a storage medium that maintains a data set, and an analog processing circuit that provides an analog signal corresponding to the data set. In such cases, the data processing circuit further includes an analog to digital converter that receives the analog signal and provides a corresponding digital output from which the series of digital samples are derived.

In various instances of the aforementioned embodiments, the read channel circuit includes a noise predictive filter circuit that receives a digital input derived from the corresponding digital output and provides the series of digital samples based upon a coefficient set. In some such cases, the noise estimation circuit includes: a partial correlation determination circuit and a prediction error power circuit. The partial correlation determination circuit calculates a partial correlation output based at least in part on the noise prediction coefficient set. The prediction error power circuit calculates a prediction error power output based at least in part on the series of digital samples—if prediction error powers are not available as part of the noise prediction coefficient set. In various cases, the partial correlation output is calculated using an inverse Levinson-Durbin algorithm, and/or the partial correlation output is calculated based at least in part on the coefficient set. In one or more instances of the aforementioned embodiments, the noise estimation circuit includes a noise power calculation circuit that calculates a noise power output based at least in part on the prediction error power output, the partial correlation output and/or the digital input. In some such cases, the noise estimation circuit further includes an electronics noise calculation circuit that calculates an electronics noise power output based at least in part on the noise power output, and a media noise calculation circuit that calculates a media noise power output based at least in part on the electronics noise power output.

This summary provides only a general outline of some embodiments of the invention. Many other objects, features, advantages and other embodiments of the invention will become more fully apparent from the following detailed description, the appended claims and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the various embodiments of the present invention may be realized by reference to the figures which are described in remaining portions of the specification. In the figures, like reference numerals are used throughout several figures to refer to similar components. In some instances, a sub-label consisting of a lower case letter is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sub-label, it is intended to refer to all such multiple similar components.

FIG. 1 depicts a storage system with a data processing circuit that includes a read channel circuit and a real time noise estimation circuit in accordance with various embodiments of the present invention;

FIG. 2 shows one embodiment of a combination of circuitry from the data processing circuit of FIG. 1 that is operable to provide real time noise estimation in accordance with one or more embodiments of the present invention;

FIG. 3 shows one embodiment of a combination of circuitry from the data processing circuit of FIG. 1 that is operable to provide data detection and decoding in accordance with some embodiments of the present invention;

FIG. 4 a depicts one embodiment of the real time noise estimation circuit of FIG. 2 in accordance with particular embodiments of the present invention;

FIG. 4 b depicts another embodiment of the real time noise estimation circuit of FIG. 2 in accordance with particular embodiments of the present invention;

FIG. 4 c depicts another embodiment of the real time noise estimation circuit of FIG. 2 in accordance with particular embodiments of the present invention;

FIG. 4 d depicts yet another embodiment of the real time noise estimation circuit of FIG. 2 in accordance with particular embodiments of the present invention; and

FIG. 5 is a flow diagram showing a method in accordance with one or more embodiments of the present invention for determining noise components in a received signal.

DETAILED DESCRIPTION OF THE INVENTION

The present inventions are related to systems and methods for determining noise components in a received signal set.

Turning to FIG. 1, a storage system 100 is depicted including a data processing circuit 110 that includes a read channel circuit 112 and a real time noise estimation circuit 115 in accordance with various embodiments of the present invention. Storage system 100 may be, for example, a hard disk drive. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize other types of devices that may be implemented using the architecture of storage system 100. Read channel circuit 112 may be any circuit known in the art that is capable of receiving encoded data and decoding the received encoded data. In addition, read channel circuit 112 provides one or more interim signals 114 to real time noise estimation circuit 115. Based at least in part on interim signals 114, real time noise estimation circuit 115 calculates average noise power 191, media noise power 193 and electronics noise power 195 associated with the received signal set. As an example, data processing circuit 110 may include circuitry similar to that discussed below in relation to FIG. 2. Read channel circuit 112 may include circuitry similar to that discussed below in relation to FIG. 3, and real time noise estimation circuit 115 may include circuitry similar to that discussed below in relation to FIG. 4. Data processing circuit 110 may provide noise estimation using methods discussed below in relation to FIG. 5.

In addition, storage system 100 includes an interface controller 120, a hard disk controller 166, a motor controller 168, a spindle motor 172, a disk platter 178, and a read/write head assembly 176. Interface controller 120 controls addressing and timing of data transfer to/from disk platter 178. Disk platter 178 may be any magnetic storage medium known in the art including, but not limited to, a longitudinal magnetic storage medium or a perpendicular magnetic storage medium. The data on disk platter 178 consists of groups of magnetic signals that may be detected by read/write head assembly 176 when the assembly is properly positioned over disk platter 178. In a typical read operation, read/write head assembly 176 is accurately positioned by motor controller 168 over a desired data track on disk platter 178. Motor controller 168 both positions read/write head assembly 176 in relation to disk platter 178 and drives spindle motor 172 by moving read/write head assembly to the proper data track on disk platter 178 under the direction of hard disk controller 166. Spindle motor 172 spins disk platter 178 at a determined spin rate (RPMs).

Once read/write head assembly 176 is positioned adjacent the proper data track, magnetic signals representing data on disk platter 178 are sensed by read/write head assembly 176 as disk platter 178 is rotated by spindle motor 172. The sensed magnetic signals are provided as a continuous, minute analog signal representative of the magnetic data on disk platter 178. This minute analog signal is conditioned and amplified using the preamplifier 130 and is transferred to data processing circuit 110. Read channel circuit 112 performs data decoding and data detection processes in an effort to recreate the information originally written to disk platter 178. This data is provided as read data 103 to a receiving circuit. In addition, read channel circuit 112 provides interim signals 114 that are used by real time noise estimation circuit 115 to calculate average noise power 191, media noise power 193 and electronics noise power 195 associated with the received signal set. A write operation is substantially the opposite of the preceding read operation with write data 101 being provided to data processing circuit 110. This data is then encoded and written to disk platter 178. Of note, data processing circuit 110 is capable of writing information to disk platter 178 and subsequently reading the data back. The read back data is used to perform signal and noise estimation. Of further note, noise calculations are not performed on data received as write data 101 and provided to disk platter 178.

Turning to FIG. 2, a circuit 200 including circuitry that may be used in relation to data processing circuit 110 is shown and is operable to provide real time noise estimation in accordance with one or more embodiments of the present invention. Circuit 200 includes an analog front end circuit 210 that receives an analog data input signal via a data input 205. Analog front end circuit 210 includes various circuits known in the art for massaging an analog signal. For example, analog front end circuit 210 may include an analog filter that is operable to reduce various noise components from the received analog data input signal. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of analog processing circuitry that may be used in relation to different embodiments of the present invention. The resulting massaged analog signal 215 is provided to an analog to digital converter circuit 220. Analog to digital converter circuit 220 may be any circuit known in the art that is capable of converting an analog signal to a corresponding series of digital samples 225.

Digital samples 225 are provided to an equalizer 230. Equalizer 230 may be any circuit known in the art that is capable of equalizing a digital data input. Equalizer 230 provides a series of equalized digital samples 235 to a bank of M noise predictive filters 240. M filters are included with each of the filters tuned to predict noise corresponding to M data patterns. The coefficients of these M filters are selected based on the correlation properties of the total noise consisting of electronics noise and media noise. One of ordinary skill in the art will recognize a variety of approaches, including adaptive algorithms using equalized digital samples 235 and interim detector output 265, for optimizing the values of the coefficients of the M noise predictive filters 240. In some embodiments of the present invention, the noise predictive filters 240 are finite impulse response filters as are known in the art. In one particular embodiment, the M is sixteen. The M noise prediction filters provide M predictive outputs 245. Predictive outputs 245 are provided to a data detection and decoding circuit 260. Data detection and decoding circuit 260 may be any data detection and decoding circuit known in the art. Data detection and decoding circuit 260 performs one or more data detection and/or decoding processes to predictive outputs 245 to yield a data output 275. Data detection and decoding circuit 260 additionally provides an interim detector output 265 to real time noise estimation circuit 250. A particular implementation of data detection and decoding circuit 260 is depicted in FIG. 3.

In addition, the noise predictive filter coefficients 247 of the M filters and predictive outputs 245 are provided to real time noise estimation circuit 250. Real time noise estimation circuit 250 uses predictive outputs 245, interim detector output 265, noise predictive filter coefficients 247, and/or equalized digital samples 235 to calculate average noise power output 280, media noise power output 285 and electronics noise power output 290 components in the equalized digital samples 235. A particular implementation of real time noise estimation circuit 250 is depicted in FIG. 4.

Turning to FIG. 3, one implementation of a data detection and decoding circuit 300 is shown in accordance with various embodiments of present invention. Data detection and decoding circuit 300 may be used in place of data detection and decoding circuit 260. Data detection and decoding circuit 300 includes a data detector circuit 310 that receives the M predictive outputs 245 from the bank of M noise predictive filters 240. Data detector circuit 310 may be any data detector circuit known in the art including, but not limited to, a maximum a posteriori (MAP) detector circuit or a soft output Viterbi algorithm (SOVA) detector circuit as are known in the art. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of data detector circuits that may be used in relation to different embodiments of the present invention. Data detector circuit 310 provides interim detector output 265. Interim detector output 265 may represent the most likely signal level for each received bit as determined by data detector circuit 310. As previously mentioned, interim detector output 265 is provided to real time noise estimation circuit 250 to facilitate calculation of the various noise components.

Interim detector output 265 is also provided to a LDPC decoder circuit 315 that applies a decoding algorithm to the received detected data to yield decoded output 317 as is known in the art. The LDPC decoder circuit 315 may be any low density parity check decoder circuit known in the art, or may be replaced by other decoder circuit known in the art including, but not limited to, a Reed Solomon decoder circuit. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of decoder circuits that may be used in relation to different embodiments of the present invention.

A second data detector circuit 320 receives the M predictive outputs 245 from the bank of M noise predictive filters 240 delayed in time by a delay circuit 330. The delay applied by delay circuit 330 aligns the M predictive outputs 245 from the bank of M noise predictive filters 240 with decoded data output 317. Data detector circuit 320 applies a detection algorithm to the M predictive outputs 245 guided by the soft output data (i.e., likelihood data) available as part of decoded data output 317, and provides a detected data output 323 as is known in the art. Data detector circuit 320 may be any data detector circuit known in the art including, but not limited to, a MAP detector circuit or a SOVA detector circuit as are known in the art. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of data detector circuits that may be used in relation to different embodiments of the present invention.

Detected data output 323 is provided to a second LDPC decoder circuit 325 that applies a decoding algorithm to the received detected data to yield data output 275 as is known in the art. It should be noted that LDPC decoder circuit 325 may be any low density parity check decoder circuit known in the art, or may be replaced by other decoder circuit known in the art including, but not limited to, a Reed Solomon decoder circuit. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of decoder circuits that may be used in relation to different embodiments of the present invention.

It should be noted that other data detection and decoding circuits may be used in relation to different embodiments of the present invention. For example, the data detection and decoding circuit depicted in FIG. 3 a or FIG. 3 b of U.S. patent application Ser. No. 12/114,462 entitled “Systems and Methods for Queue Based Data Detection and Decoding” and filed May 20, 2008 by Yang et al. may be used in place of data detection and decoding circuit 260 where the interim detector output is derived from the output of the channel detectors. The entirety of the aforementioned patent application is incorporated herein by reference for all purposes. As another example, the data detection and decoding circuit depicted in FIG. 3 or FIG. 4 of U.S. patent application Ser. No. 12/430,927 entitled “Systems and Methods for Hard Decision Assisted Decoding” and filed Apr. 28, 2009 by Zhong et al. may be used in place of data detection and decoding circuit 260 where the interim detector output is derived from the output of the channel detectors. The entirety of the aforementioned patent application is incorporated herein by reference for all purposes. As yet another example, the data detection and decoding circuit depicted in FIG. 2a, FIG. 2b, FIG. 4 or FIG. 5a of U.S. patent application Ser. No. 11/461,026 entitled “Systems and Methods for Code Dependency Reduction” and filed Jul. 31, 2006 by Tan may be used in place of data detection and decoding circuit 260 where the interim detector output is derived from the output of the first channel detector or SOVA/MAP detector in the series of processes. The entirety of the aforementioned patent application is incorporated herein by reference for all purposes. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of other data detection and decoding circuit architectures that may be used in relation to different embodiments of the present invention.

Turning to FIG. 4 a, an implementation of a real time noise estimation circuit 401 is shown in accordance with particular embodiments of the present invention. Real time noise estimation circuit 401 receives noise predictive filter coefficients 247 and the M predictive outputs 245 from the bank of M noise predictive filters 240. The bank of M noise predictive filters 240 includes M filters that each provides one of the M predictive outputs 245. In one case, M=2^(B) is the number of prediction filters included in the bank of M noise predictive filters 240, and B is an integer denoting the number of data-bits in the data-pattern associated with each prediction filter. M is more fully defined in the DDAR model of A. Kavcic, “A Signal-Dependent Autoregressive Channel Model”, IEEE Transactions on Magnetics, Vol. 35, No. 5, September 1999, pp. 2316-2318. The aforementioned reference is incorporated herein by reference for all purposes. The noise components in each of the M predictive outputs 245 may be characterized by the following equation:

${{y_{k}\lbrack n\rbrack} = {{x\lbrack n\rbrack} - {\sum\limits_{i = 1}^{N}\; {f_{k,i}{x\left\lbrack {n - i} \right\rbrack}}}}},\mspace{14mu} {{{for}\mspace{14mu} k} =},1,2,\ldots \mspace{14mu},{M;}$

where x[n] denotes the total noise at the output of equalizer 230 (i.e., the noise included in equalized digital samples 235) and is given by the following equation:

${{x\lbrack n\rbrack} = {{z\lbrack n\rbrack} - {\sum\limits_{i = 0}^{N_{g}}\; {{g\lbrack i\rbrack}{a\left\lbrack {n - i} \right\rbrack}}}}},$

where [g[0], g[1], . . . , g[N_(g)]] denote the coefficients of (N_(g)+1)-length partial response (PR) target and a[n] denotes the data bits. Further, [f_(k)[1], f_(k)[2], . . . , f_(k)[N]] denote the coefficients of the kth predictor where it is assumed that each predictor is of length N coefficients.

Prediction error power circuit 460 utilizes the M predictive outputs 245 and interim detector output 265 to calculate M y_(k)[n] values and M prediction-error power outputs 465 in accordance with the following equation:

${{y_{k}\lbrack n\rbrack} = {{z_{k}\lbrack n\rbrack} - {\sum\limits_{i = 0}^{N + N_{g}}\; {{h_{k}\lbrack i\rbrack}{\hat{a}\left\lbrack {n - i} \right\rbrack}}}}},\mspace{14mu} {{{for}\mspace{14mu} k} =},1,2,\ldots \mspace{14mu},{M;}$ ${P_{y,k} = {{\frac{1}{N_{k}}{\sum\limits_{n \in S_{k}}\; {{y_{k}^{2}\lbrack n\rbrack}\mspace{14mu} {for}\mspace{14mu} k}}} =}},1,2,\ldots \mspace{14mu},{M;}$

where z_(k)[n] denote the output of k-th predictive output 245, [h_(k)[0], h_(k)[1], . . . , h_(k)[N+N_(g)]] denote the convolution of coefficients of k-th predictor and PR target, â[n] denotes the interim detector output 265 which are decisions on the data-bits, S_(k) denotes the set of bit time instants at which the underlying data pattern in the received equalized digital samples 235 is equal to the particular data pattern length of B bits corresponding to the coefficients of the k^(th) noise prediction filter in the bank of noise predictive filters 240, and N_(k) is the number of such time instants.

PARCOR determination circuit 450 calculates the underlying partial correlation coefficients using the inverse Levinson-Durbin algorithm. The Levinson-Durbin algorithm is more fully discussed in B. Farhang-Boroujeny, “Adaptive Filters, Theory and Applications”, John Wiley & Sons Ltd., Chichester, 1998, pp. 373-79. The aforementioned reference is incorporated herein by reference for all purposes. The PARCOR determination circuit 450 computes N partial correlation outputs 455 for each of the M noise prediction filters according to the following equations for k=1, 2, . . . , M and for m=N−1, N−2, . . . , 1:

${{K_{k}\lbrack N\rbrack} = {f_{k}\lbrack N\rbrack}},{{f_{k,m}\lbrack i\rbrack} = \frac{{f_{k,{m + 1}}\lbrack i\rbrack} + {{K_{k}\left\lbrack {m + 1} \right\rbrack} \cdot {f_{k,{m + 1}}\left\lbrack {m + 1 - i} \right\rbrack}}}{1 - {K_{k}^{2}\left\lbrack {m + 1} \right\rbrack}}},{{{for}\mspace{14mu} i} = 1},2,\ldots \mspace{14mu},m,{and}$ K_(k)[m] = f_(k, m)[m],

with [f_(k,N)[1], f_(k,N)[2], . . . , f_(k,N)[N]]=[f_(k)[1], f_(k)[2], . . . , f_(k)[N]]. In such a case, the N*M partial correlation outputs 455 satisfy the property that |K_(k)[m]|1 for all k=1, 2, . . . , M and m=1, 2, . . . , N.

The M partial correlation outputs 455 (i.e. K_(k)[N]) and the M prediction-error power outputs 465 (i.e., P_(y,k)) are provided to a noise power calculation circuit 470. Noise power calculation circuit 470 calculates the overall noise power evident in equalized digital samples 235, and provides the calculated values as M noise power outputs 475. In particular, P_(x,k) denotes the total noise power at the input of the k-th prediction filter according to the following equation:

P _(x,k) =E[x ² [n]|a _(k) ],for k=1,2, . . . ,M

where a_(k) denotes the particular data pattern length of B bits corresponding to the coefficient of the k^(th) noise prediction filter in the bank of noise predictive filters 240, and E[.] denotes statistical expectation operator. Based on this, the total noise power, P_(x,k), can be calculated from the corresponding M prediction-error power outputs 465 (i.e., P_(y,k)) and the M partial correlation outputs 455 (i.e., K_(k)[m]) using the following equation:

${P_{x,k} = \frac{P_{y,k}}{\prod\limits_{m = 1}^{N}\; \left( {1 - {K_{k}^{2}\lbrack m\rbrack}} \right)}},\mspace{14mu} {{{for}\mspace{14mu} k} = 1},2,\ldots \mspace{14mu},M$

where the symbol Π indicates a multiplication of the successive elements 1 to N.

The M noise power outputs 475 are provided to an average noise calculation and electronics noise calculation circuit 480. The average noise power in equalized digital samples 235 may be expressed as:

${P_{average} = {\sum\limits_{k = 1}^{M}\; {P_{x,k}{\Pr \left( a_{k} \right)}}}},$

where Pr(a_(k)) is the probability of the pattern a_(k). The probability of the pattern a_(k) can be calculated using soft data provided as part of interim detector output 265. In particular cases, the likelihood of one of the M patterns (i.e., the same M patterns corresponding to the bank of noise predictive filters 240) is greater than the likelihood of any of the other patterns. The average noise power, P_(average), is provided as an average noise power output 280. The average noise power, P_(average), consists of a combination of the electronics noise power and the media noise power consistent with the following equation:

P _(average) =P _(media) +P _(electronics).

Of note, where the noise power outputs 475 correspond to data patterns that do not exhibit any data transitions, the noise power outputs 475 contain only electronics noise. Based upon this understanding, the electronics noise portion of the average noise power may be calculated in accordance with the following equation:

$P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$

The electronics noise power, P_(electronics), is provided as an electronics noise power output 290. The aforementioned equations assume that the data patterns that do not exhibit transitions correspond to a₁ and a_(M).

Average noise power output 280 and electronics noise power output 290 are provided to a media noise calculation circuit 490. Media noise calculation circuit 490 provides a media noise power output 285. Media noise power output 285 is calculated in accordance with the following equation:

P _(media) =P _(average) −P _(electronics).

It should be noted that the aforementioned average noise power, media noise power, and electronics noise power represent the noise in equalized digital samples 235 (i.e., at the input of the bank of M noise predictive filters 240). Noise composition at earlier junctures in the circuit may be determined using the aforementioned calculations augmented with traditional deconvolution approaches. For example, this may be done by computing the correlations of noise in equalized digital samples 235 as set forth herein, and subsequently using a traditional deconvolution approach (e.g., using z-transform) to compute the noise powers at the input of equalizer 230.

Turning to FIG. 4 b, another implementation of a real time noise estimation circuit 400 is shown in accordance with other embodiments of the present invention. Real time noise estimation circuit 400 is similar to real time noise estimation circuit 401 except that the calculation of average noise power is simplified by assuming that all patterns, a_(k), are equally probable. Based upon the simplification, the average noise power included in equalized digital samples 235 may be expressed as:

$P_{average} = {{\sum\limits_{k = 1}^{M}\; {P_{x,k}{\Pr \left( a_{k} \right)}}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}\; {P_{x,k}.}}}}$

The average noise power, P_(average), is provided as an average noise power output 280. The average noise power, P_(ave) _(rage) , consists of a combination of the electronics noise power and the media noise power consistent with the following equation:

P _(average) =P _(media) +P _(electronics).

Again, where the M noise power outputs 475 correspond to data patterns that do not exhibit any data transitions, the M noise power outputs 475 contain only electronics noise. The electronics noise portion of the average noise power may be obtained in accordance with the following equation:

$P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$

The electronics noise power, P_(electronics), is provided as an electronics noise power output 290. The aforementioned equations assume that the data patterns that do not exhibit transitions correspond to a₁ and a_(M).

Average noise power output 280 and electronics noise power output 290 are provided to a media noise calculation circuit 490. Media noise calculation circuit 490 provides a media noise power output 285. Media noise power output 285 is calculated in accordance with the following equation:

P _(media) =P _(average) −P _(electronics).

Again, it should be noted that the aforementioned average noise power, media noise power, and electronics noise power represent the noise in equalized digital samples 235 (i.e., at the input of the bank of M noise predictive filters 240). Noise composition at earlier junctures in the circuit may be determined using the aforementioned calculations augmented with traditional deconvolution approaches. For example, this may be done by computing the correlations of noise in equalized digital samples 235 as set forth herein, and subsequently using a traditional deconvolution approach (e.g., using z-transform) to compute the noise powers at the input of equalizer 230.

Turning to FIG. 4 c, another implementation of a real time noise estimation circuit 402 is shown in accordance with other embodiments of the present invention. Real time noise estimation circuit 402 is similar to real time noise estimation circuit 400 except that the prediction error power outputs 465 (i.e. P_(y,k)) are assumed to be available as part of the parameters of the noise predictive filters 240. In one such case, the prediction error power outputs 465 are computed during the training mode used for designing the noise predictive filter coefficients 247. The calculation of average noise power can be done by estimating the probabilities of the M patterns as in the case of real time noise estimation circuit 401 or by assuming that all patterns are equally probable as in the case of real time noise estimation circuit 400. The resulting average noise power, P_(average), is provided as an average noise power output 280. The average noise power, P_(average), consists of a combination of the electronics noise power and the media noise power consistent with the following equation:

P _(average) =P _(media) +P _(electronics).

Again, assuming that the data patterns a₁ and a_(M) do not exhibit transitions, the electronics noise portion of the average noise power may be obtained in accordance with the following equation:

$P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$

The electronics noise power, P_(electronics), is provided as an electronics noise power output 290. Average noise power output 280 and electronics noise power output 290 are provided to a media noise calculation circuit 490. Media noise calculation circuit 490 provides a media noise power output 285. Media noise power output 285 is calculated in accordance with the following equation:

P _(media) =P _(average) −P _(electronics).

Again, it should be noted that the aforementioned average noise power, media noise power, and electronics noise power represent the noise in equalized digital samples 235 (i.e., at the input of the bank of M noise predictive filters 240). Noise composition at earlier junctures in the circuit may be determined using the aforementioned calculations augmented with traditional deconvolution approaches. For example, this may be done by computing the correlations of noise in equalized digital samples 235 as set forth herein, and subsequently using a traditional deconvolution approach (e.g., using z-transform) to compute the noise powers at the input of equalizer 230.

Turning to FIG. 4 d, another implementation of a real time noise estimation circuit 403 is shown in accordance with other embodiments of the present invention. Real time noise estimation circuit 403 does direct computation of the total noise power at the input of each prediction filter (i.e. P_(x,k)) according to the following equation:

${{x\lbrack n\rbrack} = {{z\lbrack n\rbrack} - {\sum\limits_{i = 0}^{N_{g}}\; {{g\lbrack i\rbrack}{\hat{a}\left\lbrack {n - i} \right\rbrack}}}}},{P_{x,k} = {\frac{1}{N_{k}}{\sum\limits_{n \in S_{k}}\; {x^{2}\lbrack n\rbrack}}}}\;,\mspace{11mu} {{{for}\mspace{14mu} k} =},1,2,\ldots \mspace{14mu},{M;}$

where z[n] denotes the equalized digital samples 235, [g[0], g[1], . . . , g[N_(g)]] denote the the coefficients of (N_(g)+1)-length partial response (PR) target, x[n] denotes the total noise in equalized digital samples 235, â[n] denotes the interim detector output 265 which are decisions on the data-bits, S_(k) denotes the set of bit time instants at which the underlying data pattern in the received equalized digital samples 235 is equal to the particular data pattern length of B bits corresponding to the coefficients of the k^(th) noise prediction filter in the bank of noise predictive filters 240, and N_(k) is the number of such time instants. The calculation of average noise power can be done by estimating the probabilities of the M patterns as in the case of real time noise estimation circuit 401 or by assuming that all patterns are equally probable as in the case of real time noise estimation circuit 400. The resulting average noise power, P_(average), is provided as an average noise power output 280. The average noise power, P_(average), consists of a combination of the electronics noise power and the media noise power consistent with the following equation:

P _(average) =P _(media) +P _(electronics).

Again, assuming that the data patterns a₁ and a_(M) do not exhibit transitions, the electronics noise portion of the average noise power may be obtained in accordance with the following equation:

$P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$

The electronics noise power, P_(electronics), is provided as an electronics noise power output 290. Average noise power output 280 and electronics noise power output 290 are provided to a media noise calculation circuit 490. Media noise calculation circuit 490 provides a media noise power output 285. Media noise power output 285 is calculated in accordance with the following equation:

P _(media) =P _(average) −P _(electronics).

Again, it should be noted that the aforementioned average noise power, media noise power, and electronics noise power represent the noise in equalized digital samples 235 (i.e., at the input of the bank of M noise predicitve filters 240). Noise composition at earlier junctures in the circuit may be determined using the aforementioned calculations augmented with traditional deconvolution approaches. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize that the noise composition at equalizer input can also be done by replacing the input of error power calculation circuit 440 in FIG. 4 d with the digital samples 225 from the output of the analog-to-digital converter 220 in FIG. 2, and replacing the PR target used in error computation with the unequalized channel response.

Turning to FIG. 5, a flow diagram 500 shows a method in accordance with one or more embodiments of the present invention for determining noise components in a received signal. Following flow diagram 500, an analog data input is received (block 505). The analog input may be received, for example, from a storage medium or a data transfer channel. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of sources for the analog data input. Various analog processing is applied to the received analog data input (block 510). Such analog processing may include, but is not limited to, analog filtering and/or amplification as are known in the art.

The processed analog input is converted to a series of digital signals using an analog to digital conversion (block 515). The series of digital samples are equalized to yield an equalized output (block 520). Any equalizer circuit and analog to digital converter circuit known in the art may be used to perform the aforementioned conversion and equalization.

If noise predictors are not to be used for computation of noise powers (block 521), computation of noise powers (i.e. P_(x,k)) for each of the M data patterns of length B bits each is done (block 522) in accordance with the following equation:

${{x\lbrack n\rbrack} = {{z\lbrack n\rbrack} - {\sum\limits_{i = 0}^{N_{g}}{{g\lbrack i\rbrack}{\hat{a}\left\lbrack {n - i} \right\rbrack}}}}};{and}$ ${P_{x,k} = {\frac{1}{N_{k}}{\sum\limits_{n \in S_{k}}{{x^{2}\lbrack n\rbrack}\mspace{14mu} {for}\mspace{14mu} k}}}},{= 1},2,\ldots \;,{M;}$

where z[n] denotes the equalized digital samples 235, â[n] denotes the interim detector output 265 which are decisions on the data-bits, S_(k) denotes the set of bit time instants at which the underlying data pattern in the received equalized digital samples 235 is equal to the particular data pattern length of B bits corresponding to the coefficients of the k^(th) noise prediction filter in the bank of noise predictive filters 240, and N_(k) is the number of such time instants.

Alternatively, if noise predictors are to be used for computation of noise powers (block 521), M noise prediction filters each applying a distinct coefficient set receive the equalized digital samples 235 and perform noise prediction filtering to yield M noise prediction outputs (block 525). The noise prediction filters may be finite impulse response filters that are each tuned using a distinct data pattern to identify a particular noise pattern

One of the noise prediction outputs is selected for processing (block 527). A partial correlation calculation is performed on the selected noise prediction output (block 530). Such partial correlation calculation may be done in accordance with the following equations for k=1, 2, . . . , M and for m=N−1, N−2, . . . , 1:

${{K_{k}\lbrack N\rbrack} = {f_{k}\lbrack N\;\rbrack}},{{f_{k,m}\lbrack i\rbrack} = \frac{{f_{k,{m + 1}}\lbrack i\rbrack} + {{K_{k}\left\lbrack {m + 1} \right\rbrack} \cdot {f_{k,{m + 1}}\left\lbrack {m + 1 - i} \right\rbrack}}}{1 - {K_{k}^{2}\left\lbrack {m + 1} \right\rbrack}}},{{{for}\mspace{14mu} i} = 1},2,\ldots \;,m,{and}$ K_(k)[m] = f_(k, m)[m],

with [f_(k,N)[1], f_(k,N)[2], . . . , f_(k,N)[N]]=[f_(k)[1], f_(k)[2], . . . , f_(k)[N]]. Of note, calculated partial coefficient outputs satisfy the property that |K_(k)[m]|≦1 for all k=1, 2, . . . , M and m=1, 2, . . . , N. In such a case, the value of k corresponds to the selected noise prediction output.

In addition, if prediction error powers are not available as part of the noise prediction filter parameters (block 531), an error power calculation is performed on the selected noise prediction output (block 535). Such error power calculation may be done in accordance with the following equation:

${{y_{k}\lbrack n\rbrack} = {{z_{k}\lbrack n\rbrack} - {\sum\limits_{i = 0}^{N + N_{g}}{{h_{k}\lbrack i\rbrack}{\hat{a}\left\lbrack {n - i} \right\rbrack}}}}},{{{for}\mspace{14mu} k} =},1,2,\ldots \;,{M;}$ ${P_{y,k} = {{\frac{1}{N_{k}}{\sum\limits_{n \in S_{k}}{{y_{k}^{2}\lbrack n\rbrack}\mspace{14mu} {for}\mspace{14mu} k}}} =}},1,2,\ldots \;,{M;}$

Again, k corresponds to the selected noise prediction output, z_(k)[n] denote the output of k-th predictive output 245 and [h_(k)[0], h_(k)[1], . . . , h_(k)[N+N_(g)]] denote the convolution of coefficients of k-th predictor and PR target.

The partial correlation calculation and the error power calculation are repeated for each of the noise prediction outputs. Where it is determined that the calculations have not been performed for all of the noise prediction outputs (block 540), the next noise prediction output is selected (block 545) and the calculations are performed for the next noise prediction output (blocks 530, 535).

Alternatively, where it is determined that the calculations have been performed for all of the noise prediction outputs (block 540), a first pair of error power outputs and partial correlation outputs is selected (block 550). Noise power is calculated for the selected pair of error power output and partial correlation outputs (block 555). Such noise power may be calculated using the following equation:

${P_{x,k} = \frac{P_{y,k}}{\prod\limits_{m = 1}^{N}\; \left( {1 - {K_{2}^{2}\lbrack m\rbrack}} \right)}},$

where k corresponds to the selected pair of error power outputs and partial correlation outputs. The symbol Π indicates a multiplication of the successive elements 1 to N, P_(y,k) is the k^(th) prediction-error power output, and K_(k)[m] for m=1, 2, . . . , N are the partial coefficient outputs for the k-th filter. The aforementioned calculation is repeated for each of the pairs of error power outputs and partial correlation outputs. Where it is determined that the calculations have not been performed for all of the pairs (block 560), the next pair is selected (block 565) and the calculations are performed for the next pair (block 555).

Alternatively, where it is determined that the calculations have been performed for all of the pairs (block 560) or if noise powers are computed without using noise predictors (block 522), the average noise power is calculated (block 570) in accordance with the following equation:

$P_{average} = {{\sum\limits_{k = 1}^{M}{P_{x,k}{\Pr \left( a_{k} \right)}}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{P_{x,k}.}}}}$

The average noise power, P_(average), consists of a combination of the electronics noise power and the media noise power consistent with the following equation:

P _(average) =P _(media) +P _(electronics).

The electronics noise power is calculated (block 575). The electronics noise portion of the average noise power may be expressed in accordance with the following equation:

$P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$

The aforementioned equation assumes that the data patterns that do not exhibit transitions correspond to a₁ and a_(M). Next, media noise power is calculated (block 580). Media noise power may be calculated in accordance with the following equation:

P _(media) =P _(average) −P _(electronics).

In conclusion, the invention provides novel systems, devices, methods and arrangements for estimating noise components in a received signal set. While detailed descriptions of one or more embodiments of the invention have been given above, various alternatives, modifications, and equivalents will be apparent to those skilled in the art without varying from the spirit of the invention. Therefore, the above description should not be taken as limiting the scope of the invention, which is defined by the appended claims. 

What is claimed is:
 1. A method for noise component estimation, the method comprising: receiving a data input; applying a data detection algorithm by a data detection circuit to the data input to yield a detected output; calculating a set of noise prediction coefficients based at least in part on the data input; calculating a partial correlation value based at least in part on the data input; calculating an error power value based at least in part on the data input and the detected output; calculating a noise power value based on both the error power value and the partial correlation value; and calculating an electronics noise value based at least in part on the noise power value.
 2. The method of claim 1, wherein the method further comprises: calculating a media noise value based at least in part on the electronics noise value.
 3. The method of claim 1, wherein the data input is a first data input, and wherein the method further comprises: performing a noise predictive filtering of a second data input based upon a coefficient set to yield the first series of data samples.
 4. The method of claim 3, wherein calculating the partial correlation value is done based at least in part on the coefficient set.
 5. The method of claim 4, wherein: calculating the partial correlation value includes performing the following calculation: ${{f_{k,m}\lbrack i\rbrack} = \frac{{f_{k,{m + 1}}\lbrack i\rbrack} + {{K_{k}\left\lbrack {m + 1} \right\rbrack} \cdot {f_{k,{m + 1}}\left\lbrack {m + 1 - i} \right\rbrack}}}{1 - {K_{k}^{2}\left\lbrack {m + 1} \right\rbrack}}},{{{for}\mspace{14mu} i} = 1},2,\ldots \;,m,{and}$ K_(k)[m] = f_(k, m)[m]; calculating the error power value includes performing the following calculation: ${P_{y,k} = {{\frac{1}{N_{k}}{\sum\limits_{n \in S_{k}}{{y_{k}^{2}\lbrack n\rbrack}\mspace{14mu} {for}\mspace{14mu} k}}} =}},1,2,\ldots \;,{M;}$  and calculating the noise power value includes performing the following calculation: $P_{x,k} = {\frac{P_{y,k}}{\prod\limits_{m = 1}^{N}\; \left( {1 - {K_{2}^{2}\lbrack m\rbrack}} \right)}.}$
 6. The method of claim 5, wherein: calculating the electronics noise value includes performing the following calculation: $P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$
 7. The method of claim 1, wherein the data detection algorithm is selected from a group consisting of: a maximum a posteriori data detection process and a Viterbi algorithm data detection process.
 8. The method of claim 1, wherein the data input is derived from a storage medium.
 9. The method of claim 1, wherein receiving the data input comprises: accessing information from a storage medium; using an analog processing circuit to process the information and provide an analog signal corresponding to the data set; and wherein the data input is derived from the data input.
 10. The method of claim 9, wherein the method further comprises: converting the analog signal to a series of digital samples, wherein the data input is derived from the series of digital samples.
 11. The method of claim 10, wherein the method further comprises: equalizing the series of digital samples to yield the data input.
 12. The method of claim 1, wherein the method further comprises: applying a data decode algorithm to the detected output to yield a decoded output.
 13. The method of claim 12, wherein the data decode algorithm is a low density parity check encoding algorithm.
 14. The method of claim 1, wherein the partial correlation value is calculated using an inverse Levinson-Durbin algorithm.
 15. A method for noise component estimation, the method comprising: applying a data detection algorithm to the data input to yield a detected output; calculating a set of noise prediction coefficients using a calculation circuit based at least in part on the data input; calculating a partial correlation value based at least in part on the data input; calculating an error power value based at least in part on the data input and the detected output; calculating a noise power value based on both the error power value and the partial correlation value; and calculating an electronics noise value based at least in part on the noise power value.
 16. The method of claim 15, wherein the method further comprises: calculating a media noise value based at least in part on the electronics noise value.
 17. The method of claim 15, wherein the data input is a first data input, and wherein the method further comprises: performing a noise predictive filtering of a second data input based upon a coefficient set to yield the first series of data samples.
 18. The method of claim 17, wherein calculating the partial correlation value is done based at least in part on the coefficient set.
 19. The method of claim 18, wherein: calculating the partial correlation value includes performing the following calculation: ${{f_{k,m}\lbrack i\rbrack} = \frac{{f_{k,{m + 1}}\lbrack i\rbrack} + {{K_{k}\left\lbrack {m + 1} \right\rbrack} \cdot {f_{k,{m + 1}}\left\lbrack {m + 1 - i} \right\rbrack}}}{1 - {K_{k}^{2}\left\lbrack {m + 1} \right\rbrack}}},{{{for}\mspace{14mu} i} = 1},2,\ldots \;,m,{and}$ K_(k)[m] = f_(k, m)[m]; calculating the error power value includes performing the following calculation: ${P_{y,k} = {{\frac{1}{N_{k}}{\sum\limits_{n \in S_{k}}{{y_{k}^{2}\lbrack n\rbrack}\mspace{14mu} {for}\mspace{14mu} k}}} =}},1,2,\ldots \;,{M;}$  and calculating the noise power value includes performing the following calculation: $P_{x,k} = {\frac{P_{y,k}}{\prod\limits_{m = 1}^{N}\; \left( {1 - {K_{2}^{2}\lbrack m\rbrack}} \right)}.}$
 20. The method of claim 19, wherein: calculating the electronics noise value includes performing the following calculation: $P_{electronics} = {\frac{P_{x,1} + P_{x,M}}{2}.}$ 